跳到主要内容

颜色(Color)

构造器(Constructors)

lerp

在线性插值(linear interpolation)中按参数 t 在两个颜色之间插值。 当 t = 0 返回 fromt = 1 返回 to

local black = Color.rgb(0, 0, 0)
local white = Color.rgb(255, 255, 255)

local t = 0.5

-- Linearly interpolate halfway between black and white
local gray = Color.lerp(black, white, t)

print(gray)
-- Returns a gray color between black and white

rgb

通过红、绿、蓝通道创建颜色。Alpha 默认为 255(完全不透明)。 通道值会被限制在 [0, 255]

-- Red
self.color = Color.rgb(255, 0, 0)

rgba

通过红、绿、蓝、透明度通道创建颜色。 通道值会被限制在 [0, 255]

-- Red at 50% opacity
self.color = Color.rgba(255, 0, 0, 128)

静态函数(Static Functions)

red

返回颜色的红色通道;若提供值则返回更新该通道后的新颜色。

local myColor = Color.rgba(128, 55, 12, 128)
local redChannel = Color.red(myColor)
print(redChannel)
-- 128

local newColor = Color.red(myColor, 200)
print(Color.red(newColor))
-- 200

green

返回绿色通道;若提供值则返回更新后的新颜色。

local myColor = Color.rgba(128, 55, 12, 128)
local greenChannel = Color.green(myColor)
print(greenChannel)
-- 55

local newColor = Color.green(myColor, 200)
print(Color.green(newColor))
-- 200

blue

返回蓝色通道;若提供值则返回更新后的新颜色。

local myColor = Color.rgba(128, 55, 12, 128)
local blueChannel = Color.blue(myColor)
print(blueChannel)
-- 12

local newColor = Color.blue(myColor, 200)
print(Color.blue(newColor))
-- 200

alpha

返回 alpha 通道;若提供值则返回设置该 alpha 后的新颜色。 值会被限制在 [0, 255]

local myColor = Color.rgba(128, 55, 12, 128)
local alphaChannel = Color.alpha(myColor)
print(alphaChannel)
-- 128

local newColor = Color.alpha(myColor, 200)
print(Color.alpha(newColor))
-- 200

opacity

[0.0, 1.0] 返回颜色不透明度,或根据给定不透明度返回新颜色。

local myColor = Color.rgba(255, 0, 0, 128)

-- Get the opacity of a color
local myOpacity = Color.opacity(myColor)
print(myOpacity)
-- 0.5

-- Get a new color with the specified opacity
local newColor = Color.opacity(myColor, 1.0)
print(Color.opacity(newColor))
-- 1.0